const Config = require('webpack-chain');
//生成配置对象
const config = new Config();
//设置运行环境 mode=development
config.mode('development');
//定义一个名为app的入口,入口对应的文件是src/main.js
config.entry('app')
    .add('./src/main.js')
    .end()
    .output
    .path('dist')
    .filename('[name].[hash:8].js')
//定义一个自定义模块的解析规则
config.module
    .rule('lint')
    .test(/\.js$/)//正则 匹配文件路径的正则
    .use('eslint')//使用一个loader
    .loader('eslint-loader')// 指定loader的名称es-loader
    .options({ semi: 'off' })//指定es-loader的选项
    .end()
    .end()
    .rule('css')
    .test(/\.css$/)
    .use('style')
    .loader('style-loader')
    .options({})
    .end()
    .use('css')
    .loader('css-loader')
    .options({})
/* 
 */

const webpackConfig = config.toConfig();
console.log(JSON.stringify(webpackConfig, null, 2))
/**
let module = {
    rules:[
        {
            test:/\.js$/,
            use:[
                'babel-loader',
                {
                    loader:'eslint-loader',
                    options:{}
                }
            ]
        }
    ]
}
**/